home *** CD-ROM | disk | FTP | other *** search
- /*
- * DIRENT.H (formerly DIRLIB.H)
- *
- * by M. J. Weinstein Released to public domain 1-Jan-89
- *
- * Because I have heard that this feature (opendir, readdir, closedir)
- * it so useful for programmers coming from UNIX or attempting to port
- * UNIX code, and because it is reasonably light weight, I have included
- * it in the Mingw32 package. I have also added an implementation of
- * rewinddir, seekdir and telldir.
- * - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * This code is distributed in the hope that is will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAMED. This includeds but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.2 $
- * $Author: khan $
- * $Date: 1999/01/04 23:21:12 $
- *
- */
-
- #ifndef __STRICT_ANSI__
-
- #ifndef _DIRENT_H_
- #define _DIRENT_H_
-
- /* All the headers include this file. */
- #include <_mingw.h>
-
- #include <io.h>
-
- #ifndef RC_INVOKED
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- struct dirent
- {
- long d_ino; /* Always zero. */
- unsigned short d_reclen; /* Always zero. */
- unsigned short d_namlen; /* Length of name in d_name. */
- char* d_name; /* File name. */
- /* NOTE: The name in the dirent structure points to the name in the
- * finddata_t structure in the DIR. */
- };
-
- /*
- * This is an internal data structure. Good programmers will not use it
- * except as an argument to one of the functions below.
- */
- typedef struct
- {
- /* disk transfer area for this dir */
- struct _finddata_t dd_dta;
-
- /* dirent struct to return from dir (NOTE: this makes this thread
- * safe as long as only one thread uses a particular DIR struct at
- * a time) */
- struct dirent dd_dir;
-
- /* _findnext handle */
- long dd_handle;
-
- /*
- * Status of search:
- * 0 = not started yet (next entry to read is first entry)
- * -1 = off the end
- * positive = 0 based index of next entry
- */
- short dd_stat;
-
- /* given path for dir with search pattern (struct is extended) */
- char dd_name[1];
- } DIR;
-
-
- DIR* opendir (const char* szPath);
- struct dirent* readdir (DIR* dir);
- int closedir (DIR* dir);
- void rewinddir (DIR* dir);
- long telldir (DIR* dir);
- void seekdir (DIR* dir, long lPos);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* Not RC_INVOKED */
-
- #endif /* Not _DIRENT_H_ */
-
- #endif /* Not __STRICT_ANSI__ */
-
-